iT邦幫忙

1

「與AI探索天文」如何藉由Google Antigravity用Python打造一個能認識重力波觀測的偵探遊戲?

  • 分享至 

  • xImage
  •  

我之前的文章分享了如何用ChatGPT、Claude、Replit、Windsurf、Lovable、Bolt、Cursor、Codex、Claude Code等AI工具製作天文教育apps,這篇文章則接續分享如何藉由Google的程式開發工具Antigravity,用Python的網頁開發框架Streamlit打造出一個能讓玩家認識重力波觀測的偵探遊戲。歡迎追蹤《與AI探索天文》的YouTubeFBThreadsIGX,並訂閱Substack電子報。我會分享如何運用各種AI工具,來探究你我好奇的天文主題、將它連結到生活及其他學科領域,並結合相關開放資料,打造有趣的天文應用程式與遊戲。我希望藉由這些分享,讓每個人都可以與AI創造出專屬自己的天文探索故事,拉近我們與星空的距離。

你閱讀著《資料視覺化:用Python為星空作畫》的8.2節,置身於一個名為「NPC(Newborn Protostar Cluster) 劇院」的遊戲世界中,你透過肢體表演訓練及科技藝術工作坊,認識了恆星生命的軌跡圖,並且用Python取得資料將它畫出來。你想起在4.1節中,遊戲《獵星者旅店》的老闆跟你提過「時空漣漪調查團」,成員們專門調查大質量恆星死亡後成為黑洞或中子星時發生的事件:重力波。你好奇著,自己是否可以藉由AI工具的協助,打造出一個讓玩家在旅店中扮演偵探調查命案進而認識重力波觀測的遊戲呢?

首先,要在遊戲中呈現哪些天文知識?你想到可以用AI工具取材並彙整一篇介紹重力波觀測的報告,當作遊戲開發時參考的天文知識庫。於是你闔上書,打開Gemini切換到深入研究功能,輸入:「重力波是什麼?如何觀測?有哪些研究成果?一般大眾可以取得相關觀測資料嗎?請根據這些問題彙整英文資訊與最新學術論文,並撰寫一份適合一般大眾閱讀的臺灣正體中文教材。」

https://ithelp.ithome.com.tw/upload/images/20251121/20103436sqwaiCIUMY.png

等待報告產出的過程,你一邊吃著麻油雞麵線,一邊複習那篇讓你認識Gemini深入研究功能的文章:「如何用Gemini的深入研究功能,設計一個能認識韋伯太空望遠鏡最新研究成果的遊戲?」。完食後,Gemini剛好通知已完成調查報告。

https://ithelp.ithome.com.tw/upload/images/20251121/20103436sxHwaO4xNX.png

你得到打造這遊戲的基本素材了,你思考著下一步:需要有個能依照我的指揮運用這些素材開發出遊戲的AI工具。

你最近在瀏覽社群網站時,看到有個叫Antigravity的程式開發AI工具很新很夯,但翻遍《與AI探索天文》FB粉絲專頁中的文章,ChatGPTClaudeReplitWindsurfLovableBoltCursorCodexClaude Code…就是沒看到介紹Antigravity的文章。

於是,你向筆電視窗中的我求助。

我回答:「Antigravity是Google所推出的全新Agent-first(代理人優先)程式開發工具,它比傳統的編輯器更進一步,不只能輔助寫程式,更像是一個擁有任務控制中心的指揮總部。不同於以往你只能單向對話,Antigravity的AI代理人具備高度自主性,能像真實工程師一樣自行操作終端機、甚至直接開啟瀏覽器進行測試與除錯。我已幫你下載安裝好Antigravity,同時建立了專案資料夾『GravitationalWaveDetective』,並將你剛剛在Gemini產生的報告下載成PDF放到該資料夾中。我已用Antigravity開啟了這個資料夾,現在畫面右側顯示的是它的AI代理人對話框,下方有個下拉選單可以讓你切換AI模型,我先幫你預設了Google目前最強大的『Gemini 3 Pro』。你可以開始指揮AI代理人,讓它替你將構想反重力升空了。」

你思索著該如何指揮AI。你想起在《資料視覺化:用Python為星空作畫》的1.1節中,i蟒曾提過Streamlit這個能開發網頁的Python工具,雖然不清楚Streamlit是什麼,但你還是在Antigravity介面中開始輸入指令:「請你依照以下需求,撰寫一個台灣繁體中文的遊戲開發規劃文件plan.md,你必須把資料夾中的『重力波科普教材.pdf』當作遊戲的天文知識素材。

遊戲名稱為《重力波偵探》,玩家接受委託調查『獵星者旅店(StarHunters' Inn)』發生的命案,透過與旅店老闆及客人的問話、調查旅店各處,推理出命案兇手。而玩家在這個推理解謎遊戲中也會逐步了解『重力波是什麼?如何觀測?有哪些研究成果?一般大眾可以取得相關觀測資料嗎?』等知識。你的規劃必須將命案調查及重力波知識結合,例如,在問話及調查命案現場發出的重力波漣漪時,得知這是個雙屍命案,死者們生前各為某類星體魔物,屍體狀態為兩個黑洞。需注意目標玩家是一般大眾,因此天文知識要以科普程度呈現。

遊戲要用Streamlit開發,並運用它提供的各種互動功能來實踐遊戲機制。請連網查閱Streamlit的最新版本與官方文件,以確保技術的正確性。」

https://ithelp.ithome.com.tw/upload/images/20251121/20103436YbPBx2RH2S.png

送出指令後,約莫等了喝一杯熱仙草的時間,你就看到它產出的開發規劃檔案。你瀏覽了一下,然後請它建立Python虛擬環境並安裝所需套件,並依據這個規劃文件逐步完成遊戲開發。

https://ithelp.ithome.com.tw/upload/images/20251121/20103436fmEL7SBy6N.png

接著,你看到AI自行建立任務清單並逐一執行,而程式碼檔案也一個個地產生。約莫等了完食一碗麻辣鴉血的時間,它回應已經依照規劃完成開發。你依循它產生的README.md檔中描述的步驟,成功在瀏覽器開啟這個網頁遊戲。

https://ithelp.ithome.com.tw/upload/images/20251121/20103436gbIreIsXIR.png
https://ithelp.ithome.com.tw/upload/images/20251121/20103436E0sFGtTnrk.png
https://ithelp.ithome.com.tw/upload/images/20251121/20103436MORpEhsMKk.png

你試玩了一下,覺得有很大的改善空間,於是不斷指示AI進行修正和優化,例如:

  1. 這張截圖是目前的遊戲畫面,請說明可以如何優化。

  2. 開啟的網頁顯示錯誤訊息,請查看並修正。

  3. 遊戲主畫面要讓玩家進入中世紀古老旅店調查命案的感受,請優化文字描述、配色、排版。

  4. 畫面左側的「調查進度」和「已收集線索」都不會隨著遊戲進行而變化,請修正。

  5. 命案現場中的「波形紀錄儀」顯示的圖請改用Python取得2015年人類第一次發現重力波事件的觀測資料。

  6. 請在網頁底部加上版權宣言:©2025 本遊戲由蘇羿豪藉由Antigravity協助開發,作為「與AI探索天文」天文教育產品開發計畫的一部分。其中“蘇羿豪”和“與AI探索天文“要分別連結到https://astrobackhacker.twhttps://www.facebook.com/astroeduai這兩個網頁。

最後,你進入旅店調查命案,那個星體吃太飽撐死的命案。

https://ithelp.ithome.com.tw/upload/images/20251121/201034365zNoHrPaw8.png
https://ithelp.ithome.com.tw/upload/images/20251121/20103436a1Tngby9Fu.png
https://ithelp.ithome.com.tw/upload/images/20251121/20103436z1FAPrJHMt.png
https://ithelp.ithome.com.tw/upload/images/20251121/201034364Zz9ZAbScM.png
https://ithelp.ithome.com.tw/upload/images/20251121/20103436zCxd8osyeD.png

此篇文是由蘇羿豪經Gemini及Antigravity協助創作,文章以「創用CC姓名標示─非商業性 4.0(CC BY-NC 4.0) 國際版授權條款」釋出。歡迎分享追蹤《與AI探索天文》的YouTubeFBThreadsIGX,並訂閱Substack電子報


圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言